package com.smartfarm.domain.handler;

import lombok.Setter;

/**责任链模式
 * 紧急事件处理器 - 责任链模式
 * 抽象类 EmergencyHandler
 * 定义了处理紧急事件的接口 handleEmergency
 * 并通过 nextHandler 维护下一个处理者。
 */
public abstract class EmergencyHandler {
    // 设置下一个处理器
    @Setter
    protected EmergencyHandler nextHandler;

    // 处理紧急事件
    public abstract void handleEmergency(Emergency emergency);

    // 将紧急事件传递给下一个处理器
    protected void passToNextHandler(Emergency emergency) {
        if (nextHandler != null) {
            nextHandler.handleEmergency(emergency);
        }
    }
} 